import {loading as useLoading} from "@/store"

type resType={code:number,[key:string]:any}

/**
  @param callback  该回调需返回res
  @param isLoading 默认使用全局加载
  @param loadingTip 默认加载图标下方显示的文字为 加载中...
  @param isSuccess  默认成功
  @param timeout 默认1000ms完成请求
  @return  无
  @remark  不走网络,单纯模拟效果
**/
export default (callback:()=>resType,isLoading=true,loadingTip='',isSuccess=true,timeout=1000)=>
new Promise<resType>((rel,rej)=>{
    const loading=useLoading()
    if(isLoading) {
      loading.setLoading(true,loadingTip) 
    }
    setTimeout(()=>{
       const res=callback()
       if(isSuccess) rel(res)
       else rej(res)
       loading.setLoading(false)
    },timeout)
})